Evaluating Students ' Assignments by Assessing How Well Students Test Their Own Code
نویسندگان
چکیده
Problem and Motivation: Testing accounts for 50% cost of software development. Because of the necessity of testing, educators are including more and more software testing[1] in programming [2] and software engineering courses [3, 4]. Current classroom assessment systems (e.g.,Web-CAT, ASSYST, Marmoset) use code coverage to evaluate how well students test their own code. Code coverage measures the percentage of code—e.g., branches or statements—that are executed during a test. It may falsely indicate test quality because code execution may not be initiated from a test oracle (e.g., assert statement) and the solution code may be partial, incomplete, or incorrect. Two robust and thorough mechanisms for evaluating student written tests are: 1) all-pairs student testing, and 2) mutation testing. Even though they are strong indicators of test quality and adequacy, because of technical difficulties they are rarely used for assessing student-written tests, especially when programs are written in object-oriented languages such as Java.
منابع مشابه
Web-CAT: the Web-based Center for Automated Testing
The Web-CAT software system for evaluating student programming assignments has had substantial impact both within Virginia Tech and in other universities. Web-CAT, the Web-based Center for Automated Testing, is a tool that provides rapid, directed comments on student work, encourages students to write software tests for their own work, and empowers students with the responsibility of demonstrat...
متن کاملUsing Test-Driven Development in the Classroom: Providing Students with Automatic, Concrete Feedback on Performance
There is a need for better ways to teach software testing skills to computer science undergraduates, who are routinely underprepared in this area. This paper proposes the use of test-driven development in the classroom, requiring students to test their own code in programming assignments. In addition, an automated grading approach is used to assess student-written code and student-written tests...
متن کاملTeaching Clean Code
Learning programming is hard – teaching it well is even more challenging. At university, the focus is often on functional correctness and neglects the topic of clean and maintainable code, despite the dire need for developers with this skill set within the software industry. We present a feedbackdriven teaching concept for college students in their second to third year that we have applied and ...
متن کاملSupporting scientific writing and evaluation in a conceptual physics course with Calibrated Peer Review
Writing tasks are one way students can apply science concepts, yet evaluating students’ writing can be difficult in large classes. With the web-based Calibrated Peer Review* (CPR) system, students submit written work and evaluate each other. Students write a response to a prompt, read and evaluate responses prepared by the curriculum developers, and receive feedback on their evaluations, allowi...
متن کاملComparison of the Effect of Lecture and Concept Mapping Methods on Students` Learning and Satisfaction
Introduction: Promoting meaningful learning is one of the main objectives of education and an important factor in promoting creative thinking, critical thinking and problem-solving abilities in learners. Also, evaluating students’ learning is a teachers’ duty. The aim of this study was to compare the effect of teaching by lecture or concept mapping on cognitive learning levels of midwifery stud...
متن کامل